6MB 图片变 100KB?我只用了 2 步。
我的写作工作流用 Gemini 生成文章配图,效果不错,但有个头疼的问题:图片太大了,一张动辄 5-6MB。我在 Obsidian 里通过 PicGo 插件自动上传到腾讯云 COS 作为图床,几百张图片积累下来,就是好几个 GB 的存储费用。
更麻烦的是,Gemini 生成的图片还带水印。
第一次尝试:TinyPNG 反复压缩
一开始我用 Raycast 里的 TinyPNG 插件来压缩,但效果不太理想。
第一次压缩能从 6MB 降到 1.5MB,想继续压第二次,只能到 1.2MB,而且画质开始明显变差。
我不理解为什么会这样。于是,我去问了 Perplexity 的 Comet AI。
核心认知:有损压缩的原理
AI 告诉我一个我之前不知道的事实:有损压缩是不可逆的。
TinyPNG 这类服务在第一次压缩时,已经删掉了很多「肉眼不太注意」的细节信息。再压一遍的时候,可牺牲的东西已经不多了,所以效果越来越差。
简单来说:第一次是"砍肉",第二次开始就是"刮骨"了,刮多了画面也废了。

AI 给我的建议是:想要体积更小,真正该动的是「像素数」而不是反复压缩质量。
正确的流程应该是:
- 先降尺寸(比如从 4000px 降到 1200px)→ 体积掉一大截
- 再压质量(用 TinyPNG 或本地工具)→ 在同尺寸下再挤掉冗余
这样,6MB 的原图就能变成几百 KB,而且肉眼看不出区别。

第一个方案:PicGo 插件(失败)
明白了原理后,我开始找工具。一开始想用 PicGo 的插件来自动化:压缩、去元数据、重命名一条龙搞定。
但实际测试后发现这个方案走不通。插件配置复杂不说,测试之后甚至出现了反向压缩的现象:图片从 6MB 变成了 7MB。
最终方案:Raycast + API
既然 PicGo 插件不行,我决定用 API 来实现。
经过和 AI 的多轮对话,我发现了一个更好的方案:
- 去水印:用硅基流动的图片编辑 API(Qwen-Image-Edit)
- 压缩:用 TinyPNG API
- 自动化:写一个 Raycast 脚本,选中图片直接触发
关键发现:
- 硅基流动的 Qwen-Image-Edit API 可以完美去除 AI 生成图片的水印。虽然每张图片收费 0.3 元,但我在硅基流动的免费余额足够使用好几年了。
- TinyPNG API 每月有 500 次免费额度,对我的使用量来说完全够用。
具体实现
我写了一个 Raycast Script Command。操作很简单:在 Finder 里选中图片,cmd + space 打开 Raycast,输入脚本名称触发,就会自动完成去水印和压缩,保存为 *-clean-850.*。
脚本会依次调用两个 API:硅基流动的图片编辑 API(去水印)和 TinyPNG API(压缩到 850×850)。整个过程 1-2 分钟自动完成。

实际效果
配置完成后,我的工作流程变成了这样:

结果:
- 体积:6MB → 100KB(压缩率超过 98%)
- 时间:手动 5 步操作 → 选中图片跑脚本
- 质量:肉眼看不出区别
如果用 Lovart 这种生成的图片本身没有水印,只需要压缩,我还写了一个「只压缩」的精简版脚本。
总结
这次经历让我再次感受到:万事不决问 AI。
如果不是和 AI 对话,我不会知道:
- 有损压缩的不可逆性
- 先缩尺寸再压质量的正确流程
- Raycast 可以这样写脚本来自动化
很多时候,我们不是不会做,而是不知道可以这么做。
带着问题去问 AI,AI 就能给出好答案。AI 遇强则强,说的就是这个道理。